The subject matter of this invention relates generally to programmable controllers and especially to programmable controllers utilizing dual stack line solvers.
Relay logic ladder diagrams include rungs of innerconnected switches, relay contacts, and output devices such as relay coils disposed in rows between two conducting rails of a power supply. The principles of relay logic are utilized for controlling electromechanical devices in the ladder diagram. Using art in existence prior to the advent of the relay line solver technology, relays, switches, and other devices of the logic ladders are hard wired and strung together between the conducting rails of the power supply. The various switches and contacts of the relay logic ladder are in various states of conduction or nonconduction depending on the disposition of mechanical devices such as floats or temperature sensitive elements or depending on the disposition of output devices such as relay coils to which they are interlinked electrically or mechanically. In the event that appropriate contacts or switches are in a closed state in a given rung of the ladder, the output device using a relay coil controlled by the rung will be actuated. The actuation will cause certain actions, external or internal, to the relay ladder to occur.
With the advent of the computer technology the reference ladder diagram, which is a graphical representation of the relay ladder diagram, is simulated with the programmable controller. This eliminates the bulky and relatively expensive relays, saves space, and generally reduces the need for expensive hard wire innerconnections. The "programmable" portion of the controller gives the computer operator or logic system designer flexibility. The programmable controller may be computer controlled or matrix controlled. An example of a matrix controlled programmable controller can be found in U.S. Pat. No. 3,950,736 issued Apr. 13, 1976 to Dix et al. Essentially, this requires the use of a diode matrix which may be programmed by moving diodes into and out of the matrix in a predetermined fashion. One disadvantage of this is a relatively cumbersome arrangement of the diode matrix and the level of dexterity and skill required in using or programming it.
With a computer controlled ladder diagram solver (sometimes called a line solver), a programming panel is used for initially programming or for subsequently changing the status of various memories contained in the programmable controller. Examples of this may be found in U.S. Pat. No. 4,021,783, issued May 3, 1977 to G. C. Highberger, and entitled "Programmable Controller". Another example may be found in U.S. Pat. No. 4,244,034, issued Jan. 6, 1981 and entitled "Programmable Dual Stack Relay Ladder Line Solver And Programming Panel Therefore".
With the processor controlled programmable controller, a relatively skilled operator utilizes keys or other entry means on a programming panel to enter a graphical representation of the reference ladder diagram into the various memories of the programmable controller. Various memory device types may be used but typically these are read/write memories known as RAM. After the reference ladder diagram has been entered, the states of the various inputs and output devices of the programmable controller are periodically sampled and updated. During a sampling process, information concerning the real world status of the contacts, relays, coils, etc. is written into the memories of the programmable controller. During a line solving operation, information from these memories is combined with information from the memory containing the user program information and jointly sent to the processing circuitry within the programmable controller. At the processing circuitry a solution is derived concerning the status of the various contacts and coils as a function of the reference ladder diagram and the real world status of the coils and contacts read from memory. This information is then utilized to update or change the contact and coil status in accordance with the solution. Often one or two or even more solutions must be conducted concurrently because of the parallel nature of the some of the apparatus in the rungs of the ladder diagram. Towards the end of a rung solution process, the variously stored information is brought together by the processor into one solution member which usually determines the status of the output coil controlled by the various relay contacts in the rung of the ladder diagram. This information is stored in a memory for utilization at a later sampling time to correspondingly control the actual status of the coil in question. Typically this updating of the real world devices occurs after all the rungs of the ladder diagram have been processed by the processing circuitry.
As can be seen the operation of the programmable controller is quite complex necessitating the use of the logic solving capabilities of the microprocessor. However one disadvantage with both of the above referenced patents is that the processor, i.e. microprocessor, is required for the solution of all the elements of the ladder diagram including both contact as well as noncontact type elements. Because the processor which is used to arrive at the solutions is a general purpose device, its use to solve logic will usually be slower than dedicated logic solving devices. Therefore it would be advantageous to have a programmable controller wherein at least a portion of the reference ladder diagram elements can be solved without requiring the use of the processor thereby decreasing the length of time required to arrive at the solution for the reference ladder diagram.